package com.locAutoWeb.actions;

import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;

import sun.misc.BASE64Encoder;

import com.opensymphony.xwork2.ActionSupport;

public class ExibirImagensAction extends ActionSupport {
	
	private String mensagem;
	private String titulo;
	private String titulo2;
	private String imagem;
	private String imagem2;
				
	public String getTitulo2() {
		return titulo2;
	}


	public void setTitulo2(String titulo2) {
		this.titulo2 = titulo2;
	}


	public String getImagem2() {
		return imagem2;
	}


	public void setImagem2(String imagem2) {
		this.imagem2 = imagem2;
	}


	public String getImagem() {
		return imagem;
	}


	public void setImagem(String imagem) {
		this.imagem = imagem;
	}


	public String getTitulo() {
		return titulo;
	}


	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}


	public String getMensagem() {
		return mensagem;
	}


	public void setMensagem(String mensagem) {
		this.mensagem = mensagem;
	}


	@Override
	public String execute() throws Exception {
		
		Connection conn = null;  
        PreparedStatement pstmt = null;
        Blob mapBlob = null;
        Blob mapBlob2 = null;
        String contentType = "";  
        String nomArquivo = "";
        
        Vector<String> titulos = new Vector<String>();
        Vector<Blob> blobs = new Vector<Blob>();
		
		try {
			
			DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
	        conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","simobiliweb","web");
	        conn.setAutoCommit(false);
	       	                    
	        pstmt = conn.prepareStatement("select titulo, imagem from imagem"); 
	        ResultSet res = pstmt.executeQuery();  
	              
	        while (res.next()) {  
	        	
	           blobs.add((Blob) res.getBlob("imagem"));
	           titulos.add(res.getString("titulo"));
	        }             
	        res.getStatement().close();  
	         
	        mapBlob = blobs.get(0);
	        mapBlob2 = blobs.get(1);
	        
	        this.titulo = titulos.get(0);
	        this.titulo2 = titulos.get(1);
	        	        
	        byte[] image = mapBlob.getBytes(1,(int)mapBlob.length());
	        byte[] image2 = mapBlob2.getBytes(1,(int)mapBlob2.length());
	       	        
	        BASE64Encoder encod = new BASE64Encoder();
	        	        	        
	        this.imagem = encod.encode(image);
	        this.imagem2 = encod.encode(image2);
	        			
		} catch (Exception e) {
			this.mensagem = e.getMessage();
		}finally {  
            try {  
                if (conn != null)   
                conn.close();  
                }  
                catch (Exception e) {  
                }  
            }  
		
		return SUCCESS;
	}

}
